import { createContext, PropsWithChildren, RefObject, useRef } from "react";
import { MessageProvider, MessageRef } from ".";

interface ConfigProviderProps {
    messageRef?: RefObject<MessageRef>
}

export const ConfigContext = createContext<ConfigProviderProps>({})

export function ConfigProvider(props:PropsWithChildren) {
    const {children} = props
    const messageRef = useRef<MessageRef>(null)

    return (
        <ConfigContext.Provider value={{messageRef}}>
            <MessageProvider ref={messageRef}></MessageProvider>
            {children}
        </ConfigContext.Provider>
    )
}